class binary { arr: number[]; constructor(arr: number[]) { this.arr = arr; } sorting() { var arr1: number[] = this.arr; for (let i = 0; i < arr1.length; i++) { for (let j = 0; j < arr1.length; j++) { if (arr1[j] > arr1[j + 1]) { var temp: number = arr1[j + 1]; arr1[j + 1] = arr1[j]; arr1[j] = temp; } } } return arr1; } search(arr1:string,val) {//2,3,4,5,7 var start = 0; var end = arr1.length - 1; while (start <= end) { var m =Math.floor(( start +end) / 2); if (arr1[m] == val) { for (let i = 0; i < this.arr.length; i++){ if (this.arr[i] == arr1[m]) { console.log(i); } } break; } else { if (this.arr1[m] < val) { start = m + 1; } else { end = m - 1; } } } } } var s = new binary([5, 3, 7, 2, 4]); var arr1:number[] = s.sorting(); console.log("The sorted array is " + arr1); s.search(arr1,4);